package mlz.c_try;

import org.junit.Test;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/*   JDK7以后的资源释放

try(资源对象1;资源对象2;){
    使用资源的代码
}catch{
    处理异常的代码
}
 */
public class TryCatchDemo02 {
    @Test
    public void test01(){
        try ( //不需要手动释放资源
                FileInputStream fis = new FileInputStream("a.png");
                FileOutputStream fos = new FileOutputStream("a_copy.png");
            ) {

                //使用资源的情况
                //创建一个字节数组,负责转移字节数据
                byte[] bs = new byte[1024];
                //定义一个变量 用于记住每次读取了多少个字节
                int len;
                //3.完成文件的复制
                while((len = fis.read(bs)) != -1){
                    //把文件内容依次写入到新文件中
                    fos.write(bs,0,len);
                }
        } catch (FileNotFoundException e) {
            throw new RuntimeException(e);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}








